Deconstructing Redundant Memory Synchronization
نویسنده
چکیده
In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) instructions are necessary to establish memory consistency at synchronization points in a parallel program. Programs that follow an acquire-release synchronization protocol (e.g., Java) make frequent use of such fence instructions and hence the thrifty use and efficient implementation of such instructions is an important performance aspect. Perhaps surprisingly, this paper demonstrates on the example of multithreaded Java benchmarks that most fences occurring in a program execution are ex post unnecessary according to the rules of memory consistency demanded by the software (max. 99.9%, avg. > 98%). We conclude that the model for memory synchronization offered by current multiprocessor systems is not well aligned with the requirements of the widely used acquire-release software synchronization protocol.
منابع مشابه
Self-Timed Resynchronization: A Post-Optimization for Static Multiprocessor Schedules
In a shared-memory multiprocessor system, it is possible that certain synchronization operations are redundant — that is, their corresponding sequencing requirements are enforced completely by other synchronizations in the system — and can be eliminated without compromising correctness. This paper addresses the problem of adding new synchronization operations in a multiprocessor implementation ...
متن کاملSynchronization Elimination in the Deposit Model
The deposit message passing model is an effective target for communication code generated by data parallel compilers. This model separates data transfer from control, so the deposit model requires additional control communication to ensure that the memory on the remote node is ready to be overwritten. This control communication is generally provided by barrier synchronization. In some cases, th...
متن کاملThe Process of Synchronization in Dual Redundant Fault-Tolerant System
Synchronization is used in dual redundant fault-tolerant system to make two computers work jointly. It determines the work mode and controls the operations of the system. The paper presents a dual redundant fault-tolerant system and proposes its process of synchronization based on task. The synchronization treats task as the minimal operation unit. And it is implemented with the assist of dual-...
متن کاملRedundant Synchronization Elimination for DOACROSS Loops
Synchronizations are necessary when there are dependences between concurrent processes. However, many synchronizations are redundant because the composite effect of the other synchronizations may have already covered them. The problem of redundant synchronization elimination in DOACROSS loops is investigated and an efficient algorithm that identifies redundant synchronizations in multiply-neste...
متن کاملA Case for Deconstructing Hardware Transactional Memory Systems
Major hardware and software vendors are curious about transactional memory (TM), but are understandably cautious about committing to hardware changes. Our thesis is that deconstructing transactional memory into separate, interchangeable components facilitates TM adoption in two ways. First, it aids hardware TM refinement, allowing vendors to adopt TM earlier, knowing that they can more easily r...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005